Code
makestars <- function(pvalues) {
return(
dplyr::case_when(
pvalues < 0.001 ~ "$***$",
pvalues < 0.05 ~ "$**$",
pvalues < 0.1 ~ "$*$",
.default = ""
)
)
}
gtgazer <- function(model, n_coef = 4, coefnames, description, title, bg_color) {
if (class(model) %in% c("translogEst")) {
coefficients <- summary(model)$coefTable[1:n_coef, 1]
std_values <- summary(model)$coefTable[1:n_coef, 2]
pvalues <- summary(model)$coefTable[1:n_coef, 4]
signif <- makestars(pvalues)
r2 <- round(summary(model)$r2, 3)
adj_r2 <- round(summary(model)$r2bar, 3)
n <- summary(model)$nObs
dep_variable <- summary(model)$yName
} else if (class(model) %in% c("quadFuncEst", "translogCostEst")) {
coefficients <- summary(model$est)$coefficients[, 1]
std_values <- summary(model$est)$coefficients[, 2]
pvalues <- summary(model$est)$coefficients[, 4]
signif <- makestars(pvalues)
r2 <- round(model$r2, 3)
adj_r2 <- round(model$r2bar, 3)
n <- model$nObs
dep_variable <- ifelse(class(model) == "quadFuncEst", model$yName, model$cName)
} else if (class(model) == "lm") {
coefficients <- summary(model)$coefficients[, 1]
std_values <- summary(model)$coefficients[, 2]
pvalues <- summary(model)$coefficients[, 4]
signif <- makestars(pvalues)
r2 <- round(summary(model)$r.squared, 3)
adj_r2 <- round(summary(model)$adj.r.squared, 3)
n <- nobs(model)
dep_variable <- "qOut"
}
coefnames <- coefnames
description <- description
reg_results <- data.frame(cbind(coefnames, description, coefficients, std_values, pvalues, signif)) |>
tibble() |>
mutate(across(c(coefficients, std_values, pvalues), as.numeric))
table <- reg_results |>
gt(rowname_col = "coefnames") |>
cols_label(
description = md("**Description**"),
coefficients = md("**Coefficients**"),
std_values = md("**Ecart Type**"),
pvalues = md("**Pvalues**"),
signif = md("**Significativité**")
) |>
fmt_markdown(columns = c(coefnames, signif, description)) |>
fmt_number(columns = c(coefficients, pvalues), decimals = 3) |>
fmt(columns = std_values, fns = function(std) {
paste("+/-", round(std, 3))
}) |>
tab_footnote(footnote = md(sprintf("*Observations* : %s", n))) |>
tab_footnote(footnote = md("***")) |>
tab_footnote(footnote = md(glue::glue("$R^2=$ {r2}"))) |>
tab_footnote(footnote = md(glue::glue("$R^2_{{adj}}=$ {adj_r2}"))) |>
tab_header(
title = md(title),
subtitle = md(glue::glue("Variable dépendante : {dep_variable}"))
) |>
tab_options(
table.background.color = bg_color
)
return(table)
}1 Imports et configuration
library(ggplot2)
library(dplyr)
library(readxl)
library(micEcon)
library(gt)
library(tibble)
library(patchwork)
library(showtext)
library(FactoMineR)
library(factoextra)
library(ggtext)
library(micEconIndex)
library(micEconCES)
library(frontier)2 Description des données
Le jeu de données appleProdFr86 utilisé dans le papier d’économétrie de Ivaldi et al. (1996) comprend des données transversales de production de 140 producteurs de pommes français datant de l’année 1986.
apples <- read_excel("data/appleProdFr86.xlsx")| Colonnes | Description |
|---|---|
vCap |
Coûts associés au capital (foncier compris). |
vLab |
Coûts associés au travail (y compris la rémunération du travail familial non rémunéré). |
vMat |
Coûts des matières intermédiaires (plantations, engrais, pesticides, carburant, etc). |
qApples |
Indice de quantité des pommes produites. |
qOtherOut |
Indice de quantité de tous les autres outputs. |
qOut |
Indice de quantité de toute la production \(\Rightarrow 580000 \cdot (\text{qApples} + \text{qOtherOut})\) |
pCap |
Indice des prix du capital. |
pLab |
Indice des prix du travail. |
pMat |
Indice des prix des matières intermédiaires. |
pOut |
Indice des prix de la production globale. |
adv |
Distingue les producteurs qui sont conseillés par des laboratoires d’agronomie. |
2.1 Tableau descriptif
Ce tableau descriptif retrace les 10 premières observations et l’ensemble des variables associées dans le dataset.
| Producteurs de pommes 🍎 | ||||||||||||||
| 140 producteurs 🇫🇷 (1986) | ||||||||||||||
| \(N\) | Costs | Quantity Index | Price Index | \(adv\) | Factor Quantities | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| \(v_{Cap}\) | \(v_{Lab}\) | \(v_{Mat}\) | \(q_{Apples}\) | \(q_{OtherOut}\) | \(q_{Out}\) | \(p_{Cap}\) | \(p_{Lab}\) | \(p_{Mat}\) | \(p_{Out}\) | \(q_{Cap}\) | \(q_{Lab}\) | \(q_{Mat}\) | ||
| 1 | 220K | 320K | 300K | 1.4 | 0.98 | 1.4M | 2.6 | 0.90 | 8.9 | 0.66 | 84K | 360K | 34K | |
| 2 | 130K | 190K | 260K | 0.86 | 1.1 | 1.1M | 3.3 | 0.75 | 6.4 | 0.72 | 40K | 250K | 41K | |
| 3 | 81K | 130K | 91K | 3.3 | 0.40 | 2.2M | 2.2 | 0.96 | 3.7 | 0.94 | 37K | 140K | 24K | |
| 4 | 34K | 110K | 60K | 0.44 | 0.44 | 510K | 1.6 | 1.3 | 3.2 | 0.60 | 21K | 83K | 19K | |
| 5 | 39K | 84K | 100K | 1.8 | 0.015 | 1.1M | 0.87 | 0.94 | 7.2 | 0.83 | 45K | 89K | 14K | |
| 6 | 120K | 520K | 580K | 8.5 | 0.43 | 5.2M | 1.0 | 0.96 | 9.6 | 1.4 | 120K | 550K | 60K | |
| 7 | 89K | 170K | 340K | 4.1 | 3.3 | 4.3M | 0.98 | 1.0 | 7.8 | 1.3 | 91K | 170K | 44K | |
| 8 | 92K | 200K | 130K | 2.2 | 1.1 | 1.9M | 1.0 | 0.92 | 5.0 | 0.62 | 89K | 220K | 25K | |
| 9 | 66K | 180K | 190K | 1.8 | 2.6 | 2.5M | 2.5 | 1.0 | 5.6 | 1.9 | 27K | 180K | 34K | |
| 10 | 94K | 140K | 82K | 1.6 | 0.45 | 1.2M | 0.98 | 0.64 | 5.6 | 0.49 | 95K | 220K | 15K | |
Source: Ivaldi et al. (1996) |
||||||||||||||
3 Statistiques descriptives
3.1 Productivité moyenne des facteurs de production
La productivité moyenne (\(AP =\) Average Product) consiste à diviser la quantité totale d’output par la quantité totale de facteur utilisé (input) dans le processus de production.
Imaginons que les unités d’output sont des tonnes. Pour chaque input, cela revient en fait à expliquer combien de tonnes sont produites par unité de capital, de travail et de matières intermédiaires en 1986 pour chaque producteur de pommes.
Nous obtenons alors respectivement :
\(AP_{Cap} = \frac{q_{Out}}{q_{Cap}}\)
\(AP_{Lab} = \frac{q_{Out}}{q_{Lab}}\)
\(AP_{Mat} = \frac{q_{Out}}{q_{Mat}}\)
apples <- apples |> mutate(
AP_Cap = qOut / qCap,
AP_Lab = qOut / qLab,
AP_Mat = qOut / qMat
)| Productivité Moyenne par Facteur 📋 | ||||
| Capital — Travail — Matériaux | ||||
| \(\min\) | \(\mu\) | \(\max\) | \(\sigma^2\) | |
|---|---|---|---|---|
\(AP_{Cap}\) |
1.45 | 32.64 | 152.87 | 29.25 |
\(AP_{Lab}\) |
0.86 | 10.21 | 25.63 | 6.20 |
\(AP_{Mat}\) |
8.22 | 90.64 | 301.43 | 60.43 |
Ce tableau, en plus des visualisations qui vont suivre, permet d’établir que les productivités moyennes par facteur sont très différentes selon les producteurs. De plus, on s’aperçoit aussi qu’investir dans un facteur particulier peut être plus intéressant qu’un autre.
C’est particulièrement vrai pour le facteur Mat avec une productivité moyenne minimale de 8.22 unités d’output pour une unité de matériaux et jusqu’à 301.43 unités d’output pour une unité de matériaux.
3.2 Corrélations entre les quantités des 3 facteurs de production
| Matrice de corrélation | |||
| \(q_{Cap}\) | \(q_{Lab}\) | \(q_{Mat}\) | |
|---|---|---|---|
\(q_{Cap}\) |
1.00 | 0.59 | 0.66 |
\(q_{Lab}\) |
0.59 | 1.00 | 0.79 |
\(q_{Mat}\) |
0.66 | 0.79 | 1.00 |
Les quantités des 3 facteurs de production sont toutes corrélées positivement.
On s’aperçoit que la corrélation positive la plus importante est entre \(q_{Lab}\) et \(q_{Mat}\) \(\Rightarrow\) cela implique que lorsque la quantité de travail augmente, la quantité de matériaux a tendance à augmenter dans un niveau très similaire, et vice versa.
3.3 Corrélations entre les productivités moyennes
Essayons maintenant de comprendre comment les productivités moyennes individuelles sont corrélées :
| Matrice de corrélation | |||
| \(AP_{Cap}\) | \(AP_{Lab}\) | \(AP_{Mat}\) | |
|---|---|---|---|
\(AP_{Cap}\) |
1.00 | 0.51 | 0.46 |
\(AP_{Lab}\) |
0.51 | 1.00 | 0.73 |
\(AP_{Mat}\) |
0.46 | 0.73 | 1.00 |
Ces résultats nous suggèrent l’existence de relations positives entre les productivités moyennes des différents facteurs de production dans le processus de production.
Ici, une augmentation de la productivité moyenne du travail peut être associée à une augmentation significative de la productivité moyenne des matériaux, ce qui peut être dû à des facteurs tels que des processus de production plus efficaces ou une meilleure utilisation des ressources de la part du producteur de pommes.
Les représentations des productivités moyennes \(AP_{Cap}\), \(AP_{Lab}\) et \(AP_{Mat}\) par rapport à l’output \(q_{Out}\) peuvent aussi être très utiles pour comprendre les relations entre la production totale et l’utilisation des différents facteurs de production.
- Les valeurs extrêmes dans ces nuages de points nous permettent de distinguer aisément les producteurs efficaces et inefficaces dans l’utilisation des ressources.
3.4 Indices de Paasche, Laspeyres et Fisher
Les productivités moyennes nous donnent une indication facteur par facteur, mais elles ne nous donnent pas nécessairement d’information globale. Dans ce cadre, on peut alors se demander comment agréger des quantités avec une règle ad hoc en un indice synthétique.
3 Indices principaux existent
\[ \text{Paasche}_{index} = \frac{(v_{Cap} + v_{Lab} + v_{Mat})}{{\bar{q}_{Cap}}\cdot p_{Cap} + \bar{q}_{Lab}\cdot p_{Lab} + \bar{q}_{Mat} \cdot p_{Mat}} \]
\[ \text{Laspeyres}_{index} = \frac{(q_{Cap} \cdot \bar{p}_{Cap} + q_{Lab} \cdot \bar{p}_{Lab} + q_{Mat} \cdot \bar{p}_{Mat})}{(\bar{q}_{Cap}\cdot \bar{p}_{Cap}+\bar{q}_{Lab}\cdot \bar{p}_{Lab}+\bar{q}_{Mat}\cdot \bar{p}_{Mat})} \]
\[ \text{Fisher}_{index} = \sqrt{\text{Paasche}_{index} \cdot \text{Laspeyres}_{index}} \]
De plus, la fonction quantityIndex du package micEconIndex a l’intérêt de facilement intégrer les calculs de chaque indice (Voir ci-dessous).
apples <- apples |> mutate(
L_Index = quantityIndex(
prices = c("pCap", "pLab", "pMat"),
quantities = c("qCap", "qLab", "qMat"),
data = apples,
method = "Laspeyres"
),
P_Index = quantityIndex(
prices = c("pCap", "pLab", "pMat"),
quantities = c("qCap", "qLab", "qMat"),
data = apples,
method = "Paasche"
),
F_Index = quantityIndex(
prices = c("pCap", "pLab", "pMat"),
quantities = c("qCap", "qLab", "qMat"),
data = apples,
method = "Fisher"
)
)`geom_smooth()` using formula = 'y ~ x'
| Matrice de corrélation | ||||
| \(AP_{Cap}\) | \(AP_{Lab}\) | \(AP_{Mat}\) | \(\text{Fisher}_{index}\) | |
|---|---|---|---|---|
\(AP_{Cap}\) |
1.00 | 0.51 | 0.46 | 0.11 |
\(AP_{Lab}\) |
0.51 | 1.00 | 0.73 | 0.36 |
\(AP_{Mat}\) |
0.46 | 0.73 | 1.00 | 0.23 |
\(\text{Fisher}_{index}\) |
0.11 | 0.36 | 0.23 | 1.00 |
- Ces résultats suggèrent que l’indice de Fisher n’est pas fortement corrélé avec les productivités moyennes individuelles des facteurs de production.
3.5 Productivité globale des facteurs
- Dans la section précédente, nous avons montré que les indices donnaient sensiblement les mêmes résultats. Nous avons néanmoins choisi en tant qu’indice de productivité globale des facteurs l’indice de Fisher, étant donné qu’il est une moyenne géométrique de l’indice de Paasche et de celui de Laspeyres.
- De manière intéressante, contrairement aux histogrammes des productivités moyennes de la Section 3.1, la plupart des valeurs que prend l’indice de Fisher sont plus concentrées.
La variable dichotomique adv présente dans notre dataset est définie par :
\[ adv = \begin{cases} 0 \text{ si le producteur n'est pas conseillé}\\ 1 \text{ si le producteur est conseillé} \end{cases} \]
On pourrait penser que les producteurs qui ont été conseillés par des laboratoires d’agronomie ont un indice de productivité globale plus important que ceux qui ne l’ont pas été.
Vérifions-le graphiquement et statistiquement
- En moyenne, il semble ne pas y avoir de différence de productivité globale lorsque le producteur est conseillé. En effet, la productivité moyenne avec conseil est égale à 0.95 tandis que la productivité moyenne sans conseil est quant à elle égale à 1.
On peut aussi s’assurer que les moyennes sont significativement différentes en faisant un test de Student bilatéral :
\[ \begin{cases} H_0:\mu_{advice} =\mu_{no\_advice}\\ H_1:\mu_{advice} \neq\mu_{no\_advice} \end{cases} \]
\(\Rightarrow\) Au risque \(\alpha = 5\%\), la \(p-value =\) 0.64 \(> 0.05\), on conserve donc l’hypothèse nulle \(H_0\).
4 Analyse exploratoire
Axe 1 \(\Rightarrow\) Combinaison de variables : synthéthise les indices de Fisher, Paasche et Laspeyres, ainsi que les quantités et les coûts des 3 facteurs de production.
Axe 2 \(\Rightarrow\) Productivités moyennes.
TODO : Customiser les couleurs de contributions et des inerties et tout
Le test de normalité confirme statistiquement le fait que les données
log(qOut)suivent une distribution normale (p.value > 0.05)
Code
shapiro.test(log(apples$qOut))
Shapiro-Wilk normality test
data: log(apples$qOut)
W = 0.98429, p-value = 0.1094
5 Fonction de production linéaire
\[ q_i = \alpha + \sum_{k=1}^3\beta_k x_{ik} + ε_i \]
- La fonction de production linéaire dans notre cas s’écrit donc sous la forme :
\[ q_{Out} = \alpha + \beta_1 q_{Cap} + \beta_2 q_{Lab} + \beta_3 q_{Mat} + ε_i \]
On a pu constater un lien indéniable entre la quantité produite (qOut) et les productivités moyennes. On peut alors légitimement penser qu’il existe une relation entre la quantité produite et les quantités des facteurs de production.
Avant de s’aventurer dans des formes fonctionnelles plus complexes, commençons par utiliser une simple fonction de production linéaire.
linreg_prod <- lm(qOut ~ qCap + qLab + qMat, data = apples)| Fonction de production linéaire | |||||
| Variable dépendante : qOut | |||||
| Description | Coefficients | Ecart Type | Pvalues | Significativité | |
|---|---|---|---|---|---|
\(\alpha\) |
|
−1,615,978.639 | +/- 231771.709 | 0.000 | \(***\) |
\(\beta_1\) |
|
1.788 | +/- 1.995 | 0.372 | |
\(\beta_2\) |
|
11.831 | +/- 1.272 | 0.000 | \(***\) |
\(\beta_3\) |
|
46.668 | +/- 11.234 | 0.000 | \(***\) |
| Observations : 140 | |||||
| |
|||||
| \(R^2=\) 0.787 | |||||
| \(R^2_{adj}=\) 0.782 | |||||
Le coefficient associé à
qCapest de 1.788, mais il n’est pas statistiquement significatif, ce qui suggère que la quantité de capital n’a pas une influence significative sur la production totale.Le coefficient associé à
qLabest de 11.831 avec un niveau de significativité très élevé, ce qui signifie que pour chaque unité supplémentaire de travail utilisée, la production totale augmente en moyenne de 11.831 unités. Cela revèle une fois de plus l’influence importante de la quantité de travail sur la quantité d’output.Le coefficient associé à
qMatest de 46.668 avec un niveau de significativité très élevé, ce qui indique que pour chaque unité supplémentaire de matériaux utilisés, la production totale augmente en moyenne de 46.668 unités.
\(R^2_{adj}\) = 0.782 donc 78.2% de la variance de la production totale est expliquée par la variance des variables explicatives.
Code
performance::check_normality(linreg_prod)Warning: Non-normality of residuals detected (p < .001).
Code
# plot(predicted_qOut, residuals)
qqnorm(residuals |> pull())
qqline(residuals |> pull())Code
# à changer en ggplot2 iciWe can also produce a density plot, which is also useful for visually checking whether or not the residuals are normally distributed
TODO : Continuer la partie sur l’hétéroscédasticité
Malgré un \(R^2_{adj}\) proche de 0.8, ce qui signifie que le modèle a plutôt un bon ajustement, la spécification linéaire possède plusieurs problèmes :
- Elle ne permet pas d’estimer les rendements d’échelle car ils sont fixés comme constants dans la forme fonctionnelle.
- Elle ne permet pas d’évaluer les possibilités de substitution entre les trois facteurs de production.
\(\Rightarrow\) Face à ces inconvénients du modèle linéaire, la fonction Cobb-Douglas permet de fournir une réponse au point (1).
6 Fonction Cobb-Douglas
\[ q_i = A \prod_{k=1}^3 x_{ik}^{a_k}ε_i \]
- La fonction de production Cobb-Douglas dans notre cas s’écrit donc sous la forme :
\[ q_{Out} = A\cdot q_{Cap}^\alpha \cdot q_{Lab}^\beta \cdot q_{Mat}^\gamma \cdot ε_i \]
On peut aussi facilement linéariser la fonction, dès lors on obtient :
\[ \ln(q_{out}) = \ln(A) + \alpha \cdot \ln(q_{Cap}) + \beta \cdot \ln(q_{Lab}) + \gamma \cdot \ln(q_{Mat}) + \ln{(ε_i)} \]
Le package micEcon propose néanmoins l’estimation d’une fonction de production Cobb-Douglas grâce à la fonction translogEst et l’argument linear = TRUE1.
cd_prod <- translogEst(
"qOut",
c("qCap", "qLab", "qMat"),
data = apples,
linear = TRUE
)| Fonction de production Cobb-Douglas | |||||
| Variable dépendante : qOut | |||||
| Description | Coefficients | Ecart Type | Pvalues | Significativité | |
|---|---|---|---|---|---|
\(A\) |
|
−2.064 | +/- 1.313 | 0.118 | |
\(\alpha\) |
|
0.163 | +/- 0.087 | 0.064 | \(*\) |
\(\beta\) |
|
0.676 | +/- 0.154 | 0.000 | \(***\) |
\(\gamma\) |
|
0.627 | +/- 0.126 | 0.000 | \(***\) |
| Observations : 140 | |||||
| |
|||||
| \(R^2=\) 0.594 | |||||
| \(R^2_{adj}=\) 0.585 | |||||
Les exposants \(\alpha\), \(\beta\) et \(\gamma\) sont les élasticités de la production, c’est-à-dire qu’ils mesurent respectivement le changement en pourcentage de l’output aux variations en pourcentage de la quantité de capital, de la quantité de travail et de la quantité de matériaux.
- Grâce à ces coefficients estimés, on peut déterminer les rendements d’échelle.
Décroissants si \(\hat{\alpha} + \hat{\beta} + \hat{\gamma} < 1\)
Constants si \(\hat{\alpha} + \hat{\beta} + \hat{\gamma} = 1\)
Croissants si \(\hat{\alpha} + \hat{\beta} + \hat{\gamma} > 1\)
alpha <- cd_prod$coef[2] |> unname()
beta <- cd_prod$coef[3] |> unname()
gamma <- cd_prod$coef[4] |> unname()
return_to_scale <- alpha + beta + gammaOn trouve donc que \(\hat{\alpha} + \hat{\beta} + \hat{\gamma} =\) 1.47, donc les rendements d’échelles sont croissants, c’est à dire que le processus de production est considéré comme particulièrement efficace et présente des économies d’échelle.
Ces rendements d’échelle croissants sont souvent le résultat de coûts fixes élevés (voir la Section 2.1 pour s’en convaincre).
Une implication de ce résultat est que des installations de production à grande échelle ont tendance à être plus efficaces que des installations à petite échelle.
Intéressons-nous à l’élasticité de substitution, qui mesure la facilité avec laquelle un input peut être substitué par un autre.
Si l’elasticité de substitution n’est pas empiriquement estimable pour la Cobb-Douglas, celle-ci suppose implicitement que l’élasticité de substitution de Allen est égale à un, soit \(\sigma_{\{\text{qCap, qLab, qMat}\}} = 1\).
Cela implique une substitution parfaite entre les facteurs de production \(q_{Cap}\), \(q_{Lab}\) et \(q_{Mat}\), ce qui va clairement à l’encontre des résultats de la Section 3.1.
On ne peut donc pas étudier les substitutions entre les facteurs de production car la Cobb-Douglas ne permet tout simplement pas de le faire !
Code
# elasticities(cd_prod)
# elasticities(quad_prod)7 Fonction de production quadratique
\[ q_i = \alpha + \sum_{k=1}^3\beta_k x_{ik} + \frac{1}{2}\sum_{l=1}^3\sum_{k=1}^3 \beta_{kl}x_{ik}x_{il} + ε_i \]
- La fonction de production quadratique dans notre cas s’écrit donc sous la forme :
\[ \begin{gathered}q_{Out}=α+β_1q_{Cap}+β_2q_{Lab}+β_3q_{Mat}\\ +\frac{1}{2}(β_{11}q^2_{Cap}+β_{22}q^2_{Lab}+β_{33}q^2_{Mat})\\ +\frac{1}{2}(2β_{12}q_{Cap}q_{Lab}+2β_{13}q_{Cap}q_{Mat}+2β_{23}q_{Lab}q_{Mat})+ε_i \end{gathered} \]
- \(3^2 = 9\) coefficients à estimer !
Code
quad_prod <- quadFuncEst(
"qOut",
c("qCap", "qLab", "qMat"),
apples
)Code
gtgazer(
quad_prod,
n_coef = 9,
coefnames = c("$A$", "$\\beta_1$", "$\\beta_2$", "$\\beta_3$", "$\\beta_{11}$", "$\\beta_{12}$", "$\\beta_{13}$", "$\\beta_{22}$", "$\\beta_{23}$", "$\\beta_{33}$"),
description = c(
"- Constante du modèle",
"- Coefficient associé à la variable `qCap`",
"- Coefficient associé à la variable `qLab`",
"- Coefficient associé à la variable `qMat`",
"- Coefficient associé à la variable `qCap²`",
"- Coefficient associé à la variable `qCap×qLab`",
"- Coefficient associé à la variable `qCap×qMat`",
"- Coefficient associé à la variable `qLab²`",
"- Coefficient associé à la variable `qLab×qMat`",
"- Coefficient associé à la variable `qMat²`"
),
title = "**Fonction de production quadratique**",
bg_color = bg_color
)| Fonction de production quadratique | |||||
| Variable dépendante : qOut | |||||
| Description | Coefficients | Ecart Type | Pvalues | Significativité | |
|---|---|---|---|---|---|
\(A\) |
|
−291,113.132 | +/- 361461.083 | 0.422 | |
\(\beta_1\) |
|
5.270 | +/- 4.403 | 0.234 | |
\(\beta_2\) |
|
6.077 | +/- 3.185 | 0.059 | \(*\) |
\(\beta_3\) |
|
14.303 | +/- 24.057 | 0.553 | |
\(\beta_{11}\) |
|
0.000 | +/- 0 | 0.176 | |
\(\beta_{12}\) |
|
0.000 | +/- 0 | 0.041 | \(**\) |
\(\beta_{13}\) |
|
0.000 | +/- 0 | 0.778 | |
\(\beta_{22}\) |
|
0.000 | +/- 0 | 0.141 | |
\(\beta_{23}\) |
|
0.000 | +/- 0 | 0.000 | \(***\) |
\(\beta_{33}\) |
|
−0.002 | +/- 0.001 | 0.036 | \(**\) |
| Observations : 140 | |||||
| |
|||||
| \(R^2=\) 0.845 | |||||
| \(R^2_{adj}=\) 0.834 | |||||
Code
summary(quad_prod$est)
Call:
lm(formula = as.formula(estFormula), data = estData)
Residuals:
Min 1Q Median 3Q Max
-3928802 -695518 -186123 545509 4474143
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.911e+05 3.615e+05 -0.805 0.422072
a_1 5.270e+00 4.403e+00 1.197 0.233532
a_2 6.077e+00 3.185e+00 1.908 0.058581 .
a_3 1.430e+01 2.406e+01 0.595 0.553168
b_1_1 5.032e-05 3.699e-05 1.360 0.176039
b_1_2 -3.097e-05 1.498e-05 -2.067 0.040763 *
b_1_3 -4.160e-05 1.474e-04 -0.282 0.778206
b_2_2 -3.084e-05 2.081e-05 -1.482 0.140671
b_2_3 4.011e-04 1.112e-04 3.608 0.000439 ***
b_3_3 -1.896e-03 8.951e-04 -2.118 0.036106 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1344000 on 130 degrees of freedom
Multiple R-squared: 0.8449, Adjusted R-squared: 0.8342
F-statistic: 78.68 on 9 and 130 DF, p-value: < 2.2e-16
8 Fonction de production Translog
\[ \begin{gathered} ln(q_i) = \alpha + \sum_{k=1}^3\beta_kln(x_{ik}) \\ + \frac{1}{2}\sum_{l=1}^3\sum_{k=1}^3 \beta_{kl}ln(x_{ik})ln(x_{il}) + ε_i \end{gathered} \]
Code
translog_prod <- translogEst(
"qOut",
c("qCap", "qLab", "qMat"),
apples
)Code
summary(translog_prod)Estimated Translog function with 140 observations.
Estimate Std. Error t value Pr(>|t|)
a_0 -4.145812 21.359450 -0.1941 0.84640
a_1 -2.306835 2.288291 -1.0081 0.31528
a_2 1.993284 4.566243 0.4365 0.66318
a_3 2.231700 3.763344 0.5930 0.55420
b_1_1 -0.025734 0.208339 -0.1235 0.90189
b_1_2 0.561944 0.291199 1.9298 0.05582 .
b_1_3 -0.409965 0.235342 -1.7420 0.08387 .
b_2_2 -1.163639 0.679429 -1.7127 0.08916 .
b_2_3 0.657928 0.427502 1.5390 0.12623
b_3_3 -0.503680 0.434983 -1.1579 0.24902
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
R-squared: 0.6295696 Adjusted R-squared: 0.6039244
Code
gtgazer(
translog_prod,
n_coef = 9,
coefnames = c("$A$", "$\\beta_1$", "$\\beta_2$", "$\\beta_3$", "$\\beta_{11}$", "$\\beta_{12}$", "$\\beta_{13}$", "$\\beta_{22}$", "$\\beta_{23}$", "$\\beta_{33}$"),
description = c(
"- Constante du modèle",
"- Coefficient associé à la variable `qCap`",
"- Coefficient associé à la variable `qLab`",
"- Coefficient associé à la variable `qMat`",
"- Coefficient associé à la variable `qCap²`",
"- Coefficient associé à la variable `qCap×qLab`",
"- Coefficient associé à la variable `qCap×qMat`",
"- Coefficient associé à la variable `qLab²`",
"- Coefficient associé à la variable `qLab×qMat`",
"- Coefficient associé à la variable `qMat²`"
),
title = "**Fonction de production Translog**",
bg_color = bg_color
)Warning in cbind(coefnames, description, coefficients, std_values, pvalues, :
number of rows of result is not a multiple of vector length (arg 3)
| Fonction de production Translog | |||||
| Variable dépendante : qOut | |||||
| Description | Coefficients | Ecart Type | Pvalues | Significativité | |
|---|---|---|---|---|---|
\(A\) |
|
−4.146 | +/- 21.359 | 0.846 | |
\(\beta_1\) |
|
−2.307 | +/- 2.288 | 0.315 | |
\(\beta_2\) |
|
1.993 | +/- 4.566 | 0.663 | |
\(\beta_3\) |
|
2.232 | +/- 3.763 | 0.554 | |
\(\beta_{11}\) |
|
−0.026 | +/- 0.208 | 0.902 | |
\(\beta_{12}\) |
|
0.562 | +/- 0.291 | 0.056 | \(*\) |
\(\beta_{13}\) |
|
−0.410 | +/- 0.235 | 0.084 | \(*\) |
\(\beta_{22}\) |
|
−1.164 | +/- 0.679 | 0.089 | \(*\) |
\(\beta_{23}\) |
|
0.658 | +/- 0.428 | 0.126 | |
\(\beta_{33}\) |
|
−4.146 | +/- 21.359 | 0.846 | |
| Observations : 140 | |||||
| |
|||||
| \(R^2=\) 0.63 | |||||
| \(R^2_{adj}=\) 0.604 | |||||
9 Fonction de production CES
10 Fonction de production SFA
11 Fonction de coût Cobb Douglass
\[ c_i = A \prod_{k=1}^{3} p_{ik}^{\alpha_k}q_i^{\alpha_y} \epsilon_i \]
Code
apples$cost <- apples$vCap + apples$vLab + apples$vMatCode
cobb_cost <- translogCostEst(
cName = "cost",
yName = "qOut",
pName = c("pCap", "pLab", "pMat"),
apples, homPrice = FALSE,
linear = TRUE
)Code
summary(cobb_cost$est)
Call:
lm(formula = as.formula(estFormula), data = estData)
Residuals:
Min 1Q Median 3Q Max
-0.77663 -0.23243 -0.00031 0.24439 0.74339
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.75383 0.40673 16.605 < 2e-16 ***
a_1 0.37341 0.03072 12.154 < 2e-16 ***
a_2 0.07437 0.04878 1.525 0.12969
a_3 0.46486 0.14694 3.164 0.00193 **
a_4 0.48642 0.08112 5.996 1.74e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.3395 on 135 degrees of freedom
Multiple R-squared: 0.6884, Adjusted R-squared: 0.6792
F-statistic: 74.56 on 4 and 135 DF, p-value: < 2.2e-16
Code
gtgazer(
cobb_cost,
n_coef = 4,
coefnames = c("$A$", "$\\alpha_1$", "$\\alpha_2$", "$\\alpha_3$", "$\\alpha_4$"),
description = c(
"- Constante du modèle",
"- Coefficient associé à la variable `qOut`",
"- Coefficient associé à la variable `pCap`",
"- Coefficient associé à la variable `pLab`",
"- Coefficient associé à la variable `pMat`"
),
title = "**Fonction de coût Cobb Douglass**",
bg_color = bg_color
)| Fonction de coût Cobb Douglass | |||||
| Variable dépendante : cost | |||||
| Description | Coefficients | Ecart Type | Pvalues | Significativité | |
|---|---|---|---|---|---|
\(A\) |
|
6.754 | +/- 0.407 | 0.000 | \(***\) |
\(\alpha_1\) |
|
0.373 | +/- 0.031 | 0.000 | \(***\) |
\(\alpha_2\) |
|
0.074 | +/- 0.049 | 0.130 | |
\(\alpha_3\) |
|
0.465 | +/- 0.147 | 0.002 | \(**\) |
\(\alpha_4\) |
|
0.486 | +/- 0.081 | 0.000 | \(***\) |
| Observations : 140 | |||||
| |
|||||
| \(R^2=\) 0.688 | |||||
| \(R^2_{adj}=\) 0.679 | |||||
12 Fonction de coût Cobb Douglass de court terme
\[ c_i = A x_{i3}^{\alpha_3}\prod_{k=1}^{2} p_{ik}^{\alpha_k}q_i^{\alpha_y} \epsilon_i \]
Code
cobb_cost_ct <- translogCostEst(
cName = "cost",
yName = "qOut",
pName = c("pLab", "pMat"),
fNames = "pCap",
apples, homPrice = FALSE,
linear = TRUE
)Code
summary(cobb_cost_ct$est)
Call:
lm(formula = as.formula(estFormula), data = estData)
Residuals:
Min 1Q Median 3Q Max
-0.77663 -0.23243 -0.00031 0.24439 0.74339
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.75383 0.40673 16.605 < 2e-16 ***
a_1 0.37341 0.03072 12.154 < 2e-16 ***
a_2 0.46486 0.14694 3.164 0.00193 **
a_3 0.48642 0.08112 5.996 1.74e-08 ***
a_4 0.07437 0.04878 1.525 0.12969
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.3395 on 135 degrees of freedom
Multiple R-squared: 0.6884, Adjusted R-squared: 0.6792
F-statistic: 74.56 on 4 and 135 DF, p-value: < 2.2e-16
Code
gtgazer(
cobb_cost_ct,
n_coef = 4,
coefnames = c("$A$", "$\\alpha_1$", "$\\alpha_2$", "$\\alpha_3$", "$\\alpha_4$"),
description = c(
"- Constante du modèle",
"- Coefficient associé à la variable `qOut`",
"- Coefficient associé à la variable `pCap`",
"- Coefficient associé à la variable `pLab`",
"- Coefficient associé à la variable `pMat`"
),
title = "**Fonction de coût Cobb Douglass de court terme**",
bg_color = bg_color
)| Fonction de coût Cobb Douglass de court terme | |||||
| Variable dépendante : cost | |||||
| Description | Coefficients | Ecart Type | Pvalues | Significativité | |
|---|---|---|---|---|---|
\(A\) |
|
6.754 | +/- 0.407 | 0.000 | \(***\) |
\(\alpha_1\) |
|
0.373 | +/- 0.031 | 0.000 | \(***\) |
\(\alpha_2\) |
|
0.465 | +/- 0.147 | 0.002 | \(**\) |
\(\alpha_3\) |
|
0.486 | +/- 0.081 | 0.000 | \(***\) |
\(\alpha_4\) |
|
0.074 | +/- 0.049 | 0.130 | |
| Observations : 140 | |||||
| |
|||||
| \(R^2=\) 0.688 | |||||
| \(R^2_{adj}=\) 0.679 | |||||
13 Fonction de coût Translog
\[ \begin{gathered}ln(c_i) = \alpha + \sum_{k=1}^3 \beta_k ln(p_{ik}) + \alpha_qln(q_i) \\ +\frac{1}{2}\sum_{l=1}^3\sum_{k=1}^3\beta_{kl}ln(p_{ik})ln(p_{il})\frac{1}{2}\alpha_{q}(ln(q_i))^2 \\ +\frac{1}{2}\sum_{k=1}^3\alpha_{kq}ln(p_{ik})ln(q_i)+\epsilon_i \end{gathered} \]
Code
translog_cost <- translogCostEst(
cName = "cost",
yName = "qOut",
pName = c("pCap", "pLab", "pMat"),
apples, homPrice = FALSE
)Code
summary(translog_cost$est)
Call:
lm(formula = as.formula(estFormula), data = estData)
Residuals:
Min 1Q Median 3Q Max
-0.73251 -0.18718 0.02001 0.15447 0.82858
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 25.383429 3.511353 7.229 4.26e-11 ***
a_1 -2.040079 0.510905 -3.993 0.000111 ***
a_2 0.198813 0.537885 0.370 0.712291
a_3 -0.024792 2.232126 -0.011 0.991156
a_4 -1.244914 1.201129 -1.036 0.301992
b_1_1 0.164075 0.041078 3.994 0.000110 ***
b_1_2 -0.028090 0.042844 -0.656 0.513259
b_1_3 0.007533 0.171134 0.044 0.964959
b_1_4 0.048794 0.092266 0.529 0.597849
b_2_2 -0.095173 0.105158 -0.905 0.367182
b_2_3 -0.746199 0.244445 -3.053 0.002772 **
b_2_4 0.182268 0.130463 1.397 0.164865
b_3_3 -0.503168 0.943390 -0.533 0.594730
b_3_4 0.139429 0.433408 0.322 0.748215
b_4_4 0.529021 0.337680 1.567 0.119728
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.3043 on 125 degrees of freedom
Multiple R-squared: 0.7682, Adjusted R-squared: 0.7423
F-statistic: 29.59 on 14 and 125 DF, p-value: < 2.2e-16
Code
gtgazer(
translog_cost,
n_coef = 9,
coefnames = c("$A$"),
description = c(
"- Constante du modèle"
),
title = "**Fonction de coût Translog**",
bg_color = bg_color
)| Fonction de coût Translog | |||||
| Variable dépendante : cost | |||||
| Description | Coefficients | Ecart Type | Pvalues | Significativité | |
|---|---|---|---|---|---|
\(A\) |
|
25.383 | +/- 3.511 | 0.000 | \(***\) |
\(A\) |
|
−2.040 | +/- 0.511 | 0.000 | \(***\) |
\(A\) |
|
0.199 | +/- 0.538 | 0.712 | |
\(A\) |
|
−0.025 | +/- 2.232 | 0.991 | |
\(A\) |
|
−1.245 | +/- 1.201 | 0.302 | |
\(A\) |
|
0.164 | +/- 0.041 | 0.000 | \(***\) |
\(A\) |
|
−0.028 | +/- 0.043 | 0.513 | |
\(A\) |
|
0.008 | +/- 0.171 | 0.965 | |
\(A\) |
|
0.049 | +/- 0.092 | 0.598 | |
\(A\) |
|
−0.095 | +/- 0.105 | 0.367 | |
\(A\) |
|
−0.746 | +/- 0.244 | 0.003 | \(**\) |
\(A\) |
|
0.182 | +/- 0.13 | 0.165 | |
\(A\) |
|
−0.503 | +/- 0.943 | 0.595 | |
\(A\) |
|
0.139 | +/- 0.433 | 0.748 | |
\(A\) |
|
0.529 | +/- 0.338 | 0.120 | |
| Observations : 140 | |||||
| |
|||||
| \(R^2=\) 0.768 | |||||
| \(R^2_{adj}=\) 0.742 | |||||
14 Others
Code
apples <- apples |> mutate(cost = vCap + vLab + vMat)- Avec la fonction de cout on trouve 2.7 – à vérifier
\(\Rightarrow\) Estimer des fonctions de cout, les rendements d’échelle, estimer la fonction CES, la leontieff généralisée, calculer le profit des producteurs, lien entre efficacité, optimalité, vérifier hétéroscédasticité, modèles SFA et DEA potentiellement.
La translog ayant bcp plus de paramètres, ce ne sera pas forcément la bonne forme fonctionnelle !
Code
cobbDouglasCalc(c("qCap", "qLab", "qMat"), apples, coef(cd_prod)[1:4], coefCov = NULL, dataLogged = FALSE) 1 2 3 4 5 6 7
3211442.9 2484348.9 1198934.2 659255.2 657608.3 6440150.6 2289560.6
8 9 10 11 12 13 14
1941829.7 1643085.0 1393628.8 1065518.4 2532062.5 1142644.8 1990393.7
15 16 17 18 19 20 21
1804586.9 2486696.5 623801.8 4674844.6 652055.8 1602756.5 3585652.8
22 23 24 25 26 27 28
3105133.1 1962299.4 1894850.1 1730990.1 2028057.2 1236923.3 3120162.0
29 30 31 32 33 34 35
857551.9 1283936.8 1591240.6 1112374.7 1104836.2 1990082.5 2286930.2
36 37 38 39 40 41 42
1050671.7 670978.8 385308.3 617220.9 947210.5 1523069.4 1590208.7
43 44 45 46 47 48 49
1152166.4 874268.3 856786.7 1501912.2 812992.3 1433944.5 1169689.9
50 51 52 53 54 55 56
761120.5 655665.9 737223.4 623412.9 541717.9 1239529.1 1182383.1
57 58 59 60 61 62 63
1401808.7 628116.7 507950.3 2747396.1 539581.5 1055087.5 3550349.5
64 65 66 67 68 69 70
935872.0 1410581.5 5799225.5 4578344.7 2308627.1 5785802.2 8756920.8
71 72 73 74 75 76 77
936486.7 859620.4 940655.3 461623.9 848543.7 2309804.2 1241075.8
78 79 80 81 82 83 84
456956.7 723527.6 395900.6 692132.4 6173798.8 936641.2 6561521.0
85 86 87 88 89 90 91
3007107.9 4707504.1 1821147.0 1274546.0 1539352.9 10076301.8 1887415.3
92 93 94 95 96 97 98
1941222.6 3696158.0 6802400.4 1055932.4 23101792.2 1334995.9 1869797.5
99 100 101 102 103 104 105
3712233.4 1116260.1 4223297.1 4854943.6 1385925.9 1748553.8 2053107.4
106 107 108 109 110 111 112
1458847.1 2051602.9 643613.7 5267349.8 3902378.1 1836245.8 2455677.3
113 114 115 116 117 118 119
1624723.3 1560690.4 953841.4 710120.9 1658775.2 1321024.4 1312615.0
120 121 122 123 124 125 126
2743290.7 1054216.7 1320798.9 1262051.7 2844557.5 2947324.2 407556.6
127 128 129 130 131 132 133
825951.6 1757610.8 17344690.0 1679538.3 2161094.8 5913745.0 1058384.3
134 135 136 137 138 139 140
7738514.2 561868.8 1386779.3 7276857.5 1834723.0 556354.7 2416013.3
15 Infos sur le sujet | ROADMAP
\[ Q = f(QCAP, QLAB, QMAT)\\ \]
il y a aussi les infos sur \(C(Q)\)
- Expliquer les différences de profits entre les producteurs ? Regarder du coté des fonctions de profit.
Propriété de la CD => si la fonction de prod est cobb douglas, alors la fonction de coût l’est aussi.
alpha y => mesure des rendements d’échelle…
Pour la question 7, o nintègre la quantité d’inputs comme variable explicative => fonction de cout de court terme
Fonction de cout qui intègre que la quantité de capital ne change pas instantanément
Rendements d’échelle (somme des exposants) => on peut trouver ces rendements d’échelle soit en faisant la fonction de coût, ou la fonction de production. Mais on peut aussi les estimer grace à une fonction de demande
DEUX CHOSES ESSENTIELLES
- Il faut estimer les substitutions entre facteurs
- Les rendements d’échelle
Dans la cobb douglas les substitutions entre facteurs il est constant et c’est 1.
Regarder le \(\prod\)
15.1 Notes sur la translog Cost
On pourrait tt à fait estimer le système d’équations suivant :
Voir aussi la slide 78 sur la fonction \(\ln C\)
\[ \begin{cases} S_1 = \alpha_1 + \sum^3_{i=1} \beta_{1j}\ln p_j + \beta_{1y}\ln y\\ S_2 = \alpha_2 + \sum^3_{i=1} \beta_{2j}\ln p_j + \beta_{2y}\ln y\\ S_3 = \alpha_3 + \sum^3_{i=1} \beta_{3j}\ln p_j + \beta_{3y}\ln y \end{cases} \]
Inconvénients dans la translog et des formes flexibles :
Le nombre de paramètres explose à cause des effets croisés et risque important de collinéarité.
Quand on passe au système au tableau, on a augmenté à 3*140 données (420 observations) et on a un peu moins de paramètres
- Les entreprises les plus grosses sont les plus productives.
done 💅
Les références
Notes de bas de page
En effet, la fonction Translog est une généralisation de la fonction Cobb-Douglas↩︎